package com.ruoyi.merchant.service;

import com.ruoyi.merchant.domain.Merchant;
import com.ruoyi.merchant.domain.dto.UpdateMerchantInfoRequest;
import com.ruoyi.merchant.domain.dto.UpdateShopInfoDTO;
import com.ruoyi.merchant.domain.vo.MerchantDetailVO;
import com.ruoyi.merchant.domain.vo.ShopStatusVO;
import com.ruoyi.merchant.domain.vo.UpdateStatusResponse;

/**
 * 商家Service接口
 */
public interface IMerchantService {

    /**
     * 更新自动接单设置
     */
    int updateAutoAcceptSetting(Integer autoAcceptOrder, Integer autoAcceptTime);

    /**
     * 查询自动接单设置
     */
    Merchant getAutoAcceptSetting();

    /**
     * 获取商家详情
     * @param merchantId 商家ID
     * @return 商家详情
     */
    MerchantDetailVO getMerchantInfo(Long merchantId);

    /**
     * 修改商家营业状态
     * @param merchantId 商家ID
     * @param status 状态：0-营业，1-休息
     * @return 更新结果
     */
    UpdateStatusResponse updateMerchantStatus(Long merchantId, Integer status);

    /**
     * 上传商家头像
     * @param merchantId
     * @param avatarUrl
     */
    void updateAvatar(Long merchantId, String avatarUrl);

    /**
     * 修改商家个人信息
     * @param merchantId 商家ID
     * @param request 修改请求
     */
    void updateMerchantInfo(Long merchantId, UpdateMerchantInfoRequest request);

    /**
     * 更新门店信息
     *
     * @param updateDTO 更新信息
     * @return 结果
     */
    int updateShopInfo(UpdateShopInfoDTO updateDTO);

    /**
     * 查询门店营业状态
     *
     * @return 门店状态信息
     */
    ShopStatusVO getShopStatus();
}
